ASP.NET MVC routes configureren
ASP.NET routs hebben de volgende eigenschappen:
- een unieke naam
een naam kan worden gebruikt als een specifieke verwijzing naar een bepaalde route - URL-patroon
een eenvoudige pattern dat bijpassende om URL's te ontleden in zinvolle segmenten - defaults
een optionele verzameling van standaardwaarden voor de segmenten gedefinieerd in het URL-patroon - constraints
een set van beperkingen die toegepast moeten worden op het URL patroon om de bijpassende URL nauwkeuiger te bepalen
Het standaard ASP.NET MVC projectsjabloon voegt een generieke route toe die de volgende URL conventie gebruikt om de URL voor een bepaald request te ontleden in drie genoemde segmenten, "controller", "actie" en "id" tussen accolades:
{controller} / {actie} / {id}
Dat route-patroon wordt geregistreerd via een oproep aan de MapRoute ()
extensie-methode die uitgevoerd wordt tijdens het opstarten van de applicatie (in App_Start loopt /RouteConfig.cs
):
routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
Naast het geven van een naam en een URL-patroon, definieert deze route ook een set standaard parameters die gebruikt kunnen worden in het geval dat de URL het bijpassende routepatroon wel vindt, maar geen waarden meegeeft voor elk segment.
URL routes kunnen heel veel informatie bevatten die de routing engine kan gebruiken. Maar om een ASP.NET MVC aanvraag te verwerken, zijn twee stukken informatie vereist:
- de controller en
- de actie.
De routing engine kan pas dan deze waarden aan de ASP.NET MVC runtime doorgeven om de overeenkomste instantie van de opgegeven actie van de juiste controller te creëren en en uit te voeren.